function simpleReview() {}

$().ready(function(){simpleReview.build()});

simpleReview.build = function() {
	$(".deleteReview").each(function(){
		$(this).bind("click", function(e){
			simpleReview.remove($(this));
		});
	});
	
	$(".acceptSimpleReview").each(function(){
		$(this).bind("click", function(e){
			simpleReview.accept($(this));
		});
	});	
	
	$(".rejectSimpleReview").each(function(){
		$(this).bind("click", function(e){
			simpleReview.reject($(this));
		});
	});

  $(".showReviews").live("click", function(e){
    simpleReview.show($(this));
	});

  	$(".hideReviews").live("click", function(e){
    simpleReview.hide($(this));
	});
  
}

simpleReview.remove = function (objLink) {
	if (confirm("Are you sure?")) {
		var simpleReviewId = $(objLink).parent().parent().parent().attr("attrId");
		var ajaxProgress = '<img class="ajaxImage" id="a_'+simpleReviewId+'" src="' + W_IMAGES + 'icons/ajax.gif" alt="Подождите. Выполняется операция." />';
		if ($(objLink).attr("pressed") == "pressed") return false;
		$(objLink).attr("pressed", "pressed"); // Добавляем защиту от повторных нажатий
		$(ajaxProgress).insertAfter(objLink);
		$("#a_"+simpleReviewId).css("margin-left", "5px");
		$.ajax({
	  	type: "GET",
	  	url: W_AJAX + "review/remove/" + simpleReviewId + "/",
	  	success: function(responseText){
	  		if (navigator.userAgent.indexOf ("Opera") != -1) var arrInfo = eval('(' + responseText + ')');
	  		else var arrInfo = JSON.parse(responseText);
	  		if(arrInfo['result'] == 'OK') {
	  			$("#testimonial_"+simpleReviewId).remove();
	  		}
	  		else {
	  			alert(arrInfo['err_text']);
	  		}
	  	}
	  });
	  $(objLink).removeAttr("pressed");
	  $("#a_"+simpleReviewId).remove();
	}
}

simpleReview.accept = function (objLink) {
		var simpleReviewId = $(objLink).attr("attrId");
		var ajaxProgress = '<img class="ajaxImage" id="a_'+simpleReviewId+'" src="' + W_IMAGES + 'icons/ajax.gif" alt="Подождите. Выполняется операция." />';
		if ($(objLink).attr("pressed") == "pressed") return false;
		$(objLink).attr("pressed", "pressed"); // Добавляем защиту от повторных нажатий
		$(ajaxProgress).insertAfter(objLink);
		$("#a_"+simpleReviewId).css("margin-left", "5px");
		$.ajax({
	  	type: "GET",
	  	url: W_AJAX + "review/accept/" + simpleReviewId + "/",
	  	success: function(responseText){
	  		if (navigator.userAgent.indexOf ("Opera") != -1) var arrInfo = eval('(' + responseText + ')');
	  		else var arrInfo = JSON.parse(responseText);
	  		if(arrInfo['result'] == 'OK') {
	  			if ($(objLink).attr("attrStatus") == 2){
	  				$(objLink).attr({"class": "ajax rejectSimpleReview", "attrStatus": "1"}).text("Reject this testimonial");
	  				$(objLink).unbind();
	  			}
	  			if ($(objLink).attr("attrStatus") == 0)
	  				$(objLink).remove();
	  			simpleReview.build();	  				
	  		}
	  		else {
	  			alert(arrInfo['err_text']);
	  		}
	  	}
	  });
	  $(objLink).removeAttr("pressed");
	  $("#a_"+simpleReviewId).remove();
}

simpleReview.reject = function (objLink) {
		var simpleReviewId = $(objLink).attr("attrId");
		var ajaxProgress = '<img class="ajaxImage" id="a_'+simpleReviewId+'" src="' + W_IMAGES + 'icons/ajax.gif" alt="Подождите. Выполняется операция." />';
		if ($(objLink).attr("pressed") == "pressed") return false;
		$(objLink).attr("pressed", "pressed"); // Добавляем защиту от повторных нажатий
		$(ajaxProgress).insertAfter(objLink);
		$("#a_"+simpleReviewId).css("margin-left", "5px");
		$.ajax({
	  	type: "GET",
	  	url: W_AJAX + "review/reject/" + simpleReviewId + "/",
	  	success: function(responseText){
	  		if (navigator.userAgent.indexOf ("Opera") != -1) var arrInfo = eval('(' + responseText + ')');
	  		else var arrInfo = JSON.parse(responseText);
	  		if(arrInfo['result'] == 'OK') {
	  			if ($(objLink).attr("attrStatus") == 1){
	  				$(objLink).attr({"class": "ajax rejectSimpleReview", "attrStatus": "2"}).text("Accept this testimonial");
	  				$(objLink).unbind();
	  			}
	  			if ($(objLink).attr("attrStatus") == 0)
	  				$(objLink).remove();
	  			simpleReview.build();	  				
	  		}
	  		else {
	  			alert(arrInfo['err_text']);
	  		}
	  	}
	  });
	  $(objLink).removeAttr("pressed");
	  $("#a_"+simpleReviewId).remove();
}

simpleReview.show = function (objLink) {
    var reviewForm = '' +
      '<form method="post" class="standard" onsubmit="simpleReview.submitForm(this); return false;">' +
      '<table cellspacing="0" >' +
      '<input type="hidden" class="accepted_status" value="' + (user.isAdmin == 0 ? 0 : 2) + '" />' +
      '<tr>' +
        '<td class="left" >Фамилия<span class="required">*</span>:</td>' +
        '<td class="right" ><input type="text" class="standardText last_name" maxlength="64" value="" /></td>' +
      '</tr>' +
      '<tr>' +
        '<td class="left" >Имя<span class="required">*</span>:</td>' +
        '<td class="right" ><input type="text" class="standardText first_name" maxlength="64" value="" /></td>' +
      '</tr>' +
      '<tr>' +
        '<td class="left" >Отзыв<span class="required">*</span>:</td>' +
        '<td class="right" ><textarea class="wysiwygAdmin" rows="15" cols="100"></textarea></td>' +
      '</tr>';
      if (user.isAdmin == 0) {
      reviewForm += '<tr>' +
        '<td><img src="/cafe/auth/kaptcha" class="kaptcha" id="reg_crypt" alt="" /></td>' +
        '<td><p>Введите код <span class="required">*</span> (<a class="reg_crypt_change ajax" style="cursor:pointer" onclick="javascript:document.getElementById(\'reg_crypt\').src=\'/cafe/auth/kaptcha/\'+Math.round(Math.random(0)*1000)+1">Обновить картинку</a>)</p><input type="text" class="standardText kaptcha_input" style="height:27px; width:234px" maxlength="10" value="" /></td>' +
      '</tr>';
      }
      reviewForm += '<tr>' +
        '<td class="left" ></td>' +
        '<td class="right" ><input type="submit" class="standardSubmit" value="Сохранить" /></td>' +
      '</tr>' +
      '</table>' +
      '</form>';
    if ($(objLink).next().find("form").length == 0) $(objLink).next().append(reviewForm);
    $(objLink).attr({'class' : 'hideReviews ajax', 'title' : 'Скрыть отзыв.'});
    $(objLink).next().slideToggle("slow");

}


simpleReview.submitForm = function (objForm) {
		var message = '';
    if ($(objForm).find('.last_name').val().length < 2 || $(objForm).find('.last_name').val().length > 32) message += 'Фамилия от 2 до 32 символов\n';
    if ($(objForm).find('.first_name').val().length < 2 || $(objForm).find('.first_name').val().length > 32) message += 'Имя от 2 до 32 символов\n';
    if ($(objForm).find('.wysiwygAdmin').val().length < 3) message += 'Слишком короткий отзыв\n';
    if (user.isAdmin == 0) if ($(objForm).find('.kaptcha_input').val().length < 5) message += 'Слишком короткий код';
    if (message.length !== 0) alert(message);
    else {
      $.post(
        W_AJAX + "review/add_review/",
        {
          kaptcha_input: $(objForm).find('.kaptcha_input').val(),
          accepted_status: $(objForm).find('.accepted_status').val(),
          last_name: $(objForm).find('.last_name').val(),
          first_name: $(objForm).find('.first_name').val(),
          text: $(objForm).find('.wysiwygAdmin').val()
        },
        function(responseText){
          var arrInfo;
          if (navigator.userAgent.indexOf ("Opera") != -1) arrInfo = eval('(' + responseText + ')');
          else arrInfo = JSON.parse(responseText);
          if(arrInfo['result'] == 'OK') {
            if (user.isAdmin == 0) alert("Отзыв добавлен и будет опубликован после проверки на отсутствие ненормативной лексики.");
            else {
              var d = new Date();
              var curr_date = d.getDate(); if (curr_date < 10) curr_date = '0' + curr_date;
              var curr_month = d.getMonth()+1; if (curr_month < 10) curr_month = '0' + curr_month;
              var curr_year = d.getFullYear();
              var curr_hour = d.getHours(); if (curr_hour < 10) curr_hour = '0' + curr_hour;
              var curr_min = d.getMinutes(); if (curr_min < 10) curr_min = '0' + curr_min;
              var curr_sec = d.getSeconds(); if (curr_sec < 10) curr_sec = '0' + curr_sec;
              var now = curr_year + '-' + curr_month + '-' + curr_date + ' ' + curr_hour + ':' + curr_min + ':' + curr_sec;
              var newReview = '' +
                '<div class="testimonial">' +
                  '<div class="testimonialText">' +
                    '<div class="testimonialTextIn">' +
                      $(objForm).find('.wysiwygAdmin').val() +
                    '</div>' +
                  '</div>' +
                  '<div class="userName">' +
                    '<span>' +
                      $(objForm).find('.first_name').val() + ' ' + $(objForm).find('.last_name').val() +
                    '</span>' +
                  '</div>' +
                '</div>';
              alert("Отзыв успешно опубликован.");
              objForm.reset();
              $(objForm).parent().after(newReview);
              alert ($(objForm).parent().find('div:first'));
              $(objForm).parent().slideToggle("slow");
            }
          }
          else alert(arrInfo['err_text']);
        }
      );
    }
}


simpleReview.hide = function (objLink) {
  $(objLink).attr({'class' : 'showReviews ajax', 'title' : 'Написать отзыв'});
  $(objLink).next().slideToggle("slow");
}